const htmlWebpackPlugin = require('html-webpack-plugin');
const cleanWebpackPlugin = require('clean-webpack-plugin');
const uglifyjsWebpackPlugin = require('uglifyjs-webpack-plugin');

var path = require('path');


function resolve( ...dirs ){
	if( dirs.length == 1 ){
		return path.resolve(__dirname,dirs[0]);
	}else{
		return dirs.map(function( item ){
			return path.resolve(__dirname, item );
		});
	}
}

module.exports = {
	// 打包文件的入口文件
	// context : , 可以指定脚本运行的上下文
	entry: resolve('8/src/app.js'), 
	output : {
		path : resolve('8/dist'), // 指定 打包后的文件目录
		filename : 'js/[name].bundle.js', // 打包后的文件名
		// publicPath : '192.168.31.43:8080' // 上线根目录
	},
	module : {
		loaders : [
			{
				test : /\.js$/,
				loader : 'babel-loader',
				exclude : resolve('node_modules/'), // 排除文件
				include : [resolve('8/src')], // 只处理 src 目录下的文件
				query : {
					presets : 'latest',
				},
			},{
				test : /\.css$/,
				loader : 'style-loader!css-loader'
				// loaders : ['style-loader','css-loader','postcss-loader'],
			},{
				test : /\.less$/,
				loader : 'style-loader!css-loader!less-loader'
			}
		]
	},
	plugins : [
		// require('autoprefixer')(), // 引入插件
		new cleanWebpackPlugin([resolve('8/dist')]),
		// new uglifyjsWebpackPlugin(),

		new htmlWebpackPlugin({
			template : resolve('8/index.html'), // 模板
			filename : 'index.html', // 默认为，模本文件名
			inject : 'body', // 指定 js 插入的位置，默认 body
			title : '我是第八课 loader 页面',
			timestamp : Date.now(),
			// chunks : ['main','a'], 
			// chunks : ['main'] // 指定 插入的 js chunks 名称
			// minify : { // 压缩模板
			// 	removeComments : true, // 删除注释
			// 	collapseWhitespace : true, // 删除空格
			// }
		}),
		
		
	],
};